package com.java.netty.common.pptp;


public class PptpBuilder {

    public static byte[] build(String data, PptpCmdEnum cmd) {
        int dataLen = 0;
        byte[] byteData = null;
        if (data != null) {
            byteData = data.getBytes();
            dataLen = byteData.length;
        }

        byte[] result = new byte[6 + dataLen];
        //固定消息头
        result[0] = (byte) (cmd.getCode() << 2);
        result[1] = (byte) PptpProtocolVerEnum.PPTP_V3.getCode();
        if (byteData != null) {
            // 消息长度高位
            result[4] = (byte) ((dataLen >> 8) & 0xff);
            // 消息长度低位
            result[5] = (byte) (dataLen & 0xff);
            System.arraycopy(byteData, 0, result, 6, dataLen);
        }
        return result;
    }
}
